<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日期类型</title>
    <script>
        function f1() {
            // 当前时间
            let date = new Date();
            let time = date.getTime();
            console.log(date)
            // 可以按照年月日时分秒毫秒的顺序传递参数
            // 不能单独指定年份,至少指定年份与月份
            date = new Date(2020, 1, 2, 2, 2, 2)
            console.log(date)
            // 参数可以是一个毫秒数
            date = new Date(time)
            console.log(date)
        }

        function f2() {
            let date = new Date();
            console.log("年份:" + date.getFullYear())
            // 月份取值:0-11
            console.log("月份:" + (date.getMonth() + 1))
            console.log("天数:" + date.getDate())
            console.log("小时数:" + date.getHours())
            console.log("分钟数:" + date.getMinutes())
            console.log("秒数:" + date.getSeconds())
            console.log("毫秒数:" + date.getMilliseconds())
            // 取值:0-6,0表示周日,1-6表示周一到周六
            console.log("周" + date.getDay())
        }

        function f3() {
            let date = new Date();
            date.setFullYear(2020);
            date.setMonth(4)
            console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
        }

        function f4() {
            let date = new Date(2020, 11, 31);
            console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
            // 2000-12-31
            date.setFullYear(2000);
            console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
            // 2000-2-31,由于2月份没有31号,2000年是一个闰年,最多29号
            // 因此,这个日期表示的是2000-3-2
            date.setMonth(1);
            console.log(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds())
            console.log(date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate());
            // A.2000-1-31  B.2000-2-2  C.2000-2-29 D.2000-3-2
        }

        function f5(year, month) {
            // 求year年month月共有多少天
            // 这个月的最后一天=下一个月的第一天的前一天
            // let date = new Date(year,month-1+1,1-1);
            // 本月最后一天
            let date = new Date(year, month, 0);
            // 本月最后一天获取当前日期是本月第几天,则表示这个月共有多少天
            let countDay = date.getDate();
            console.log(year + "年" + month + "月共有" + countDay + "天")
        }

        function f6() {
            // 按照yyyy-MM-dd HH:mm:ss的格式打印出日期,除了年份以外都必须是两位数字,不足两位的前面补0
            // 例如:2022-02-02 02:03:10
            let date = new Date();
            console.log(date.getFullYear() + "年" + fn(date.getMonth() + 1) + "月" + fn(date.getDate()) + "日 " + fn(date.getHours()) + ":" + fn(date.getMinutes()) + ":" + fn(date.getSeconds()))

        }

        function fn(s) {
            // 每一个变量进来之后前面补一个0
            s = "0" + s;
            // 1-->01  11->011
            // 截取字符串,保留后两位
            return s.substring(s.length - 2);
        }
    </script>
</head>
<body>
<button onclick="f1()">定义方式</button>
<br>
<button onclick="f2()">取值方法</button>
<br>
<button onclick="f3()">赋值方法</button>
<br>
<button onclick="f4()">测试</button>
<br>
<button onclick="f5(2024,2)">练习一</button>
<br>
<button onclick="f6()">练习二</button>
<br>

</body>
</html>